iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0

上一篇介紹完了let與var宣告變數後,其實還有一個沒有提到,那就是const啦!在ES5以後跟let一起加入了Javascripts的大家庭,接下來就開始介紹const的特性與作用域吧。

const

const 有一個非常非常重要的特性!就是宣告完變數之後,不能夠重新給予值。這句話甚麼意思呢?舉個例子說明:

    <script>
      const x = 55555;
      x = 45;         //不允許
      x = x - 5;      //不允許
    </script>

而const 的作用域其實跟let有些相似,都是在各自的函數中及花括號內可以取用。

    <script>
      var a=50;
      //這裡的a=50
      {
        const a=25;
      //這裡的a=25
      }
      //這裡的a=50
    </script>

並且const 必須要在宣告變數時就給他數值,不能夠在之後賦予。

    <script>
      const data;      //這樣會報錯,必須一開始就給予值
      data='Jason';
      
      const data ='Jason' ;           //正確
    </script>
    

這樣看起來const是不是格外嚴苛呢?但是當是物件或陣列時,其實是可以改變屬性及陣列裡的內容的!但同樣的無法重新宣告賦值。

物件

    <script>
      const person = { name: "jason", weight: "68", height: "188" };

      // 更改物件的屬性:
      person.name = "Leo";

      // 增加物件的key跟value:
      person.bmi = "23";
    </script>
    
    
    //錯誤範例
    <script>
      const person = { name: "jason", weight: "68", height: "188" };
      person = { name: "leo", weight: "77", height: "155" };
    </script>

陣列

    <script>
      const person = ["jason", "leo", "dina"];

      // 修改陣列元素:
      person[2] = "nina";

      // 新增陣列元素:
      person.push("miko");
      
      //   錯誤範例
      const person = ["jason", "leo", "dina"];
      person = ["miko","nina"]
    </script>

雖然const宣告時要嚴苛,但也因為這樣,之後我們在管理變數上時,不會出現那麼多的問題,不然有時候都是全域宣告,數量一多起來維修上造成許多的負擔,因此影響程式報錯的機率也大大的提升,還有可以透過Typescripts去管理我們這些的規則!在之後有機會我們再來介紹,下一篇我們將說明數據類型!


上一篇
Day3 Javascript宣告變數及變量
下一篇
Day5 Javascipt資料類型
系列文
Javascripts惡補小教室30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言